home *** CD-ROM | disk | FTP | other *** search
- PROGRAMM
- SHBUFnn v1.3 [4.6.1993] -
- Patchprogramm zum Vergrößern der Puffer, die das GEM zur
- Verwaltung der NEWDESK.INF Datei benötigt
-
- BESCHREIBUNG
- GEM-AES und GEM-Desktop erlauben es ihre Konfiguration in
- der Datei NEWDESK.INF (ehemals DESKTOP.INF) zu sichern. Beim
- Neustart wird diese Datei geladen und ausgewertet. Zur internen
- Verwaltung der Datei benutzt das GEM statische Puffer, deren
- Größe mit der gewachsenen Leistungsfähigkeit des Desktops (ab
- GEM 3.00) nicht mitgehalten hat. So kann es leicht passieren,
- daß man beim Start eines Programms die folgende Meldung erhält:
- 'Kein Systemspeicher mehr frei!'
- SHBUF erlaubt es die entsprechenden Puffer des GEM von bisher 4KB
- auf maximal 32KB zu vergrößern. Hierzu ist allerdings ein
- Eingriff in den Programmcode des GEM notwendig. Dieser kann auf
- zweierlei Weise erfolgen:
-
- a) Man installiert beim Booten des Rechners eine Kopie des GEM
- im RAM, die dann vor dem Start des GEM durch SHBUF modifiziert
- wird. Dies ist mit einem der folgenden Programme möglich:
-
- ROMRAM TOS Beschleuniger für TTs, >256 KB,
- Mailbox Maus HH2, Freeware, A. Herzlinger, PTOS
- VRAM Virtuelle Speicherverwaltung für TTs, >256 KB,
- OverScan GbR, Berlin, Alexander Herzlinger, VRAM
- ROMSPEED TOS Beschleuniger für TTs (Bestandteil von OUTSIDE
- einer virtuelle Speicherverwaltung für TTs), >256 KB,
- MAXON Verlag, Uwe Seimet, USRS
- GEMRAM GEM im RAM installieren (STs und TTs), 80-120 KB,
- Mailbox Maus MZ, Freeware, Martin Osieka, MOGR
- (Beschreibung, Speicherbedarf, Bezugsquelle, Autor, Cookie)
-
- SHBUF gehört in diesem Fall nach diesen Programmen in den
- Ordner \AUTO auf dem Bootlaufwerk und wird somit beim Booten
- automatisch gestartet.
- Die Programme werden nur erkannt, wenn sie das entsprechende
- Cookie im Cookiejar eingetragen haben.
-
- b) Man benutzt SHBUF um sich eine modifizierte Kopie des TOS
- zu erstellen, die anschließend auf Eproms gebrannt und in den
- Rechner eingesetzt wird. Hierzu ruft man SHBUF vom Desktop
- auf und erhält dann die Möglichkeit, das TOS aus den ROMs oder
- einer bereits bestehenden TOS-Datei von Disk zu laden. Nachdem
- SHBUF das TOS modifiziert hat, kann es abgespeichert werden.
-
- Standardmäßig vergrößert SHBUF die Puffer auf 16KB. Da zwei
- Puffer beim Start des GEM angelegt werden, verliert man 32KB
- Hauptspeicher (die anderen Puffer existieren nur temporär).
- Durch Umbennen des Programms kann man diese Werte ändern. Hierzu
- gibt man einfach die gewünschte Größe in KB nach dem Namen an.
- Benennt man SHBUF.PRG z.B. nach SHBUF9.PRG um, werden 9KB große
- Puffer angelegt und man verliert 18KB Speicher.
-
- SHBUF unterstützt die folgenden GEM Versionen:
-
- GEM TOS
- 3.00 GER 3.01
- 3.10 GER 2.05/3.05
- 3.20 GER 2.06/3.06
- 3.31 4.01
- 3.40 4.02-4.04
-
- SHBUF identifiziert das GEM über die Länge des GEM-TEXT-Segments.
- GEM Versionen anderer Länder werden bei identischer Länge akzeptiert.
-
- HINWEISE FÜR PROGRAMMIERER
- Die Funktion shel_get() des GEM wurde so modifiziert, daß andere
- Programme die Größe der Puffer ermitteln können. Die Funktion
- liefert jetzt statt dem Returnwert 1 die Anzahl der gelesenen
- Zeichen (maximal die Größe des Puffers). Diese Änderung
- entspricht vermutlich zukünftigen GEM-Versionen. Ein einfaches
- Beispiel in C zeigt den Umgang mit der neuen Funktionalität:
-
- if ((buf = Malloc( 0x7FFFL)) != NULL) {
- if (shel_get( buf, 2) == 2) {
- bufsize = shel_get( buf, 0x7FFF);
- }
- else {
- bufsize = 0x1060; /* bzw. 0x400 bei GEM 1.2 */
- shel_get( buf, bufsize);
- };
- Mshrink( buf, bufsize);
- };
-
- Man kann jetzt die Größe des Shell-Puffers mit
- bufsize = shel_get( buf, -1);
- erfragen. Problematisch ist dieser Aufruf bei bisherigen TOS-
- Versionen, da dort 64KB kopiert werden.
-
- Das tatsächliche Ende der Daten im Puffer erkennt man übrigens
- am Zeichen CTRL-Z bzw. 0.
-
- VEKTOREN, COOKIES, ETC.
- Die Patches integrieren sich in den bestehenden Programmcode
- des GEM und ändern daher keine Vektoren.
-
- ÄNDERUNGEN
- v1.1: Patches für GEM Versionen aus UK bzw. USA.
- v1.2: Patches für GEM 3.31 und 3.40
- v1.3: Fehler in Patches für GEM 3.31 und 3.40 beseitigt
-
- COPYRIGHT
- Autor: (\/) Martin Osieka
- Anschrift: Martin Osieka, Erbacherstr. 2,
- 64283 Darmstadt, Bundesrepublik Deutschland
- Internet: Martin_Osieka@mtk.maus.de
-
- Schriftlichen Anfragen bitte immer einen frankierten und
- adressierten Rückumschlag beilegen.
-
- Das Programm SHBUF.PRG darf auf beliebige Art und Weise weiter-
- verbreitet werden, solange alle Dateien des Programmpakets
- beiliegen. Zum Paket gehören:
- SHBUF.PRG Patchprogramm
- SHBUF.GER, SHBUF.UPL Dokumentation und Upload-Beschreibung
- Die Benutzung des Programms erfolgt auf eigene Gefahr.
-